Multiple factors, such as increasing broadband connectivity, the inconvenience associated with computer viruses and hardware redundancy, and the emergence of advertising supported software as a business model, have bolstered the migration of the functionality of locally stored software applications to network based web applications.
Web applications can require communications over a network with a server, such as a web or database server, which introduces latency issues that affect responsiveness, especially in comparison to locally stored applications. Current web application implementations seek to minimize the effects of latency on application performance by reducing the number of queries and the amount of transmitted data. This can be accomplished by requesting only the altered data and by dynamically updating affected elements of an HTML document, rather than reloading the entire HTML document. Moreover, a user interfaces may present data that is complex or abundant requiring significant effort to keep the data up to date. The operations defining the data to be queried for and updated and how to update an HTML document are often accomplished through customized software. The creation and maintenance of the customized software can require significant developer resources.